<?php
/**
 * Created by PhpStorm.
 * User: chenygd
 * Date: 2019/6/20
 * Time: 16:52
 */
namespace App\Http\Controllers\Test;


use App\Http\Controllers\Controller;

use Illuminate\Cookie\CookieJar;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cookie;

class TestController extends Controller
{
    public function index(){
        echo 'test';
    }
    public function t1(){
        /*
        $softsay = '<div><a href="http://www.onlinedown.net/zt/10506/"><strong>企业微信</strong></a>官方PC版终于正式发布了！<a href="http://www.onlinedown.net/zt/10506/">企业微信电脑版</a>是一款办公沟通工具，主要面向各类型的企业和机构用户，除了具有类似<a href="http://www.onlinedown.net/soft/247057.htm" target="_blank">微信</a>的聊天功能，还集成了公费电话和邮件功能。在OA功能方面，结合了公告、考勤、请假、报销，用户在手机上就能轻松完成办公需求。</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp;此外，<a href="http://www.onlinedown.net/zt/10506/">企业微信</a>也提供了一些更贴合办公场景的功能，如回执消息、休息一下。</div>
<div style="text-align: center;">&nbsp;</div>
<div style="text-align: center;"><img alt="企业微信" src="http://src.onlinedown.net/d/file/p/2016-09-18/a4f80fab53fad93db8919992c0d3a3d5.jpg" /></div>
<div style="text-align: center;">&nbsp;</div>
<div>&nbsp;</div>
<div style="text-align: center;"><img alt="企业微信" src="http://src.onlinedown.net/d/file/p/2016-09-18/bd84495f99e4a2afa3014ebc3e90ad55.jpg" /></div>
<div style="text-align: center;">&nbsp;</div>
<div><span style="font-size: larger;"><strong><br />
</strong></span></div>
<div><span style="font-size: larger;"><strong>企业微信功能介绍</strong></span></div>
<div>　 &nbsp; &nbsp;统一的企业通讯录&nbsp;</div>
<div>　　企业通讯录可快捷导入，统一管理&nbsp;</div>
<div>　　同事信息准确完善，方便查找&nbsp;</div>
<div>　　贴合办公场景的沟通方式&nbsp;</div>
<div>　　集成电话与邮件，多样沟通，提高效率&nbsp;</div>
<div>　　提供回执与<a href="http://www.onlinedown.net/soft/103161.htm" target="_blank">提醒</a>消息，贴合办公场景&nbsp;</div>
<div>　　可靠的安全保障<br />
&nbsp;　　协议全程加密，防止网络窃听&nbsp;</div>
<div>　　多重数据安全保护机制，抵御网络攻击和入侵</div>
<div style="text-align: center;">&nbsp;</div>
<div style="text-align: center;"><img alt="企业微信" src="http://src.onlinedown.net/d/file/p/2016-09-18/8bd6ad1570934ffb6487209b4952ee5c.jpg" /></div>
<div>&nbsp;</div>
<div style="text-align: center;"><img alt="企业微信" src="http://src.onlinedown.net/d/file/p/2016-09-18/108f5442f9ca27acf32a43080ce555b3.jpg" /></div>
<div style="text-align: center;">&nbsp;</div>
<div style="text-align: left;">
<div><span style="font-size: larger;"><strong>软件特色</strong></span><span style="white-space: pre;">	</span></div>
<div>　　企业微信新版发布：打磨办公系统，打卡/日报功能升级</div>
<div>
<div><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">转发微信聊天记录</span></div>
<div><span style="white-space:pre">	</span>微信中的聊天记录、订阅文章，都可一键快速转发到企业微信。企业微信也可转发到微信。</div>
</div>
<div>　　<span style="color: rgb(255, 153, 0);">审批：</span> 支持添加自定义审批模板，可设置<a href="http://www.onlinedown.net/soft/26769.htm" target="_blank">固定</a>审批人和抄送人，可查看申请记录。</div>
<div>　　新增12种审批模板，调休加班出差，采购付款申请，用车用章合同审批，会议预定物品领用，这些繁杂的日常事务都可以通过线上审批轻松完成。审批单支持添加附件、时间字段和API导出数据，同时新增审批同意也可添加意见，请假可与法定节假日关联等特性，管理员在管理后台配置后即可使用。</div>
<div>
<div><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">丰富的配置</span></div>
<div><span style="white-space:pre">	</span>可个性化定义员工资料，设置通讯录查看权限和隐藏特殊部门或成员。还支持在手机启动页设置企业Logo、宣传图，打造企业文化。</div>
</div>
<div>&nbsp;</div>
<div>
<p align="center">&nbsp;</p>
<p align="center"><a href="http://src.onlinedown.net/d/file/p/2017-05-22/afc473e48756a4edb99a8060a5f19c51.jpg" target="_blank"><img src="http://src.onlinedown.net/d/file/p/2017-05-22/afc473e48756a4edb99a8060a5f19c51.jpg" border="0" alt="企业微信" /></a></p>
<p align="center">&nbsp;</p>
</div>
<div>
<div><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">打卡：</span>在手机上轻松考勤，支持固<a href="http://www.onlinedown.net/soft/103161.htm" target="_blank">定时</a>间上下班、灵活排班、自由上下班和外出打卡。</div>
</div>
<div>　 　在非工作日也可以设置允许打卡，管理员可以选择多部门、最长三个月数据查询导出，获取数据一步到位。</div>
<div>
<p align="center">&nbsp;</p>
<p align="center"><a href="http://src.onlinedown.net/d/file/p/2017-05-22/50f5e93ffdbbd70bdb070b89c813a304.jpg" target="_blank"><img src="http://src.onlinedown.net/d/file/p/2017-05-22/50f5e93ffdbbd70bdb070b89c813a304.jpg" border="0" alt="企业微信" /></a></p>
<p align="center">&nbsp;</p>
</div>
<div>
<div><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">日报：</span>员工通过日报、周报、月报汇报工作进展，管理者可在手机端方便的查看。</div>
</div>
<div>　　 电脑上也能写日报了，汇报工作更便捷。还支持了在写日报时添加附件、管理员还可将提醒时间设置为当天。</div>
<div>&nbsp;</div>
<div>
<p align="center"><a href="http://src.onlinedown.net/d/file/p/2017-05-22/5365cad2bcfa174125a06dc842fd1d6d.jpg" target="_blank"><img src="http://src.onlinedown.net/d/file/p/2017-05-22/5365cad2bcfa174125a06dc842fd1d6d.jpg" border="0" alt="企业微信" /></a></p>
<p style="text-align: left;">&nbsp;</p>
<p><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">通讯录管理</span></p>
<p><span style="white-space:pre">	</span>快速批量导入，统一管理；同事信息准确完善，方便查阅。</p>
<p><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">视频会议</span></p>
<p><span style="white-space:pre">	</span>高清稳定的视频会议，支持文档演示和<a href="http://www.onlinedown.net/soft/117042.htm" target="_blank">屏幕</a>共享，支持用电话接入，可9人同时参与。</p>
<p><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">企业支付</span></p>
<p><span style="white-space:pre">	</span>提供完备的支付能力，企业可以在企业微信内给员工发红包，给员工付款或向员工收款。</p>
<p><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">公费电话</span></p>
<p><span style="white-space:pre">	</span>领取1000分钟公费电话时长，支持<a href="http://www.onlinedown.net/soft/43284.htm" target="_blank">多人</a>通话，方便与客户、同事电话沟通工作。</p>
<p><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">企业邮箱</span></p>
<p><span style="white-space:pre">	</span>获取专属域名的企业邮箱，实时收取邮件通知，及时查询邮件，快速响应。</p>
<p><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">可管理的群聊</span></p>
<p><span style="white-space:pre">	</span>可设置仅群主可管理群聊，设置群内禁言，发布群公告。支持发起2000人群聊。</p>
<p><span style="white-space:pre">	</span><span style="color: rgb(255, 153, 0);">可靠安全保障</span></p>
<p style="text-align: left;"><span style="white-space: pre;">	</span>协议全程加密，防止网络窃听，多重数据安全保护机制，抵御网络攻击和入侵。国内首家通过最高等级公有云个人隐私保护认证&mdash;&mdash;ISO/IEC27018的企业产品。&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
</div>
</div>
<div><span style="font-size: larger;"><strong>企业微信更新日志</strong></span></div>
<div>V2.1.0.1279 新增</div>
<div>
<div><span style="white-space:pre">	</span>1.企业微信与企业号产品<a href="http://www.onlinedown.net/soft/117660.htm" target="_blank">合并</a>，企业号现已升级为企业微信，新的企业微信将继承企业号的所有能力</div>
<div><span style="white-space:pre">	</span>2.为企业提供了优质的第三方应用，覆盖移动办公、团队协同、客户关系、文化建设等多个领域</div>
<div><span style="white-space:pre">	</span>3.新增工作状态功能，让忙碌也变成趣味</div>
<div><span style="white-space:pre">	</span>4.提供私有化部署版本，有需求的企业可注册登记</div>
<div><span style="white-space:pre">	</span>5.打卡:</div>
<div><span style="white-space:pre">	</span>迟到或早退时可提交补卡申请，管理员审批通过后会自动补卡；</div>
<div><span style="white-space:pre">	</span>打卡不在范围时，会显示具体偏离情况，方便调整位置后打卡。</div>
<div><span style="white-space:pre">	</span>6.管理后台:</div>
<div><span style="white-space:pre">	</span>可根据请假、出差等审批单据校准打卡状态，自动生成精确的出勤报表；</div>
<div><span style="white-space:pre">	</span>可查看审批、打卡记录的附件和图片，并支持导出到Excel；</div>
<div><span style="white-space:pre">	</span>离职人员的审批、打卡记录将继续保留，方便核算；</div>
<div><span style="white-space:pre">	</span>可设置日报自定义模版，日常汇报更加规范。</div>
<div><span style="white-space:pre">	</span>7.优化图片和<a href="http://www.onlinedown.net/soft/267407.htm" target="_blank">文件</a>传输，传输速率再提升</div>
<div>&nbsp;</div>
</div>
<div>旧版本</div>
<p>　　领取1000分钟公费电话时长，方便与客户、同事多人通话沟通工作</p>
<p>　　获取专属域名的企业邮箱，在企业微信中收发工作邮件</p>
<p>　　发出的消息可以查看对方的已读未读状态，沟通更高效</p>
<p>　　打卡升级，支持通过API获取打卡数据，自由上下班模式下可设置周末是否需要打卡</p>
<p>　　审批优化，请假时间可以精确到小时，更精细设置满足企业多样化需求</p>
<p>　　通讯录一次性导出所有未激活成员，方便拉动全体公司员工更快更好的使用企业微信</p>
<p>　　群主可以解散不需要的群聊了</p>
<p>&nbsp;</p>
<p><span style="color: rgb(255, 0, 0);"><span style="font-size: larger;"><strong>钉钉对比企业微信有什么不同之处？</strong></span></span></p>
<p>第一步，登陆注册：企业微信单一，钉钉更开放</p>
<p><span style="white-space: pre;">	</span>从注册登录开始，企业微信目前只支持已经开通QQ企业邮箱或者微信企业号的团队直接导入员工通讯录，在册的员工可以通过手机号、邮箱或者微信登录，开始使用企业微信。</p>
<p><span style="white-space: pre;">	</span>反观<a href="http://www.onlinedown.net/soft/580957.htm"><span style="color: rgb(0, 0, 255);">钉钉</span></a>则更为开放。目前钉钉支持以个人通过手机号注册，加入之后可以在App内操作找到自己的企业或者组织。</p>
<p><span style="white-space: pre;">	</span>除了注册上的差异，不需要登记企业信息作为前提，意味着钉钉不仅可以用在公司内的协同，它还可以用在各种非公司的组织内部沟通，比如学生会、居委会等等。</p>
<p><span style="white-space: pre;">	</span>企业微信比钉钉晚上线了一年多，不管是为了初期纯粹&ldquo;服务企业&rdquo;的考虑，还是为了彻底划清工作和生活的界限，企业微信在这第一步上稍显保守。</p>
<p>第二步，沟通和群聊：一个是&ldquo;企业内关系&rdquo;，一个是&ldquo;工作关系&rdquo;</p>
<p><span style="white-space: pre;">	</span>企业微信，建群的方式与微信相同，不过由于不能添加公司外部的好友，所以所有的群组织都是限定在企业群和它的子群。</p>
<p><span style="white-space: pre;">	</span>钉钉建群的入口，也在主页右上角的&ldquo;+&rdquo;中，但在二级菜单里它又细分为<a href="http://www.onlinedown.net/soft/66082.htm" target="_blank">普通</a>的&ldquo;企业群&rdquo;、澡堂模式下的&ldquo;私密群&rdquo;以及不限于企业的&ldquo;群聊&rdquo;功能，此外钉钉还支持添加非本企业的好友。</p>
<p><span style="white-space: pre;">	</span>可以设想，没有外部好友，会给一部分企业和一部分工种带来不便，比如公关媒介这样的职业就需要频繁添加外部好友。目前，企业微信更强调企业内沟通，钉钉则更接近完整&ldquo;工作关系&rdquo;的建立。</p>
<p>第三步，协同工具：简洁 VS 丰富</p>
<p><span style="white-space: pre;">	</span>企业微信的协同工具功能被放到了二级菜单中，用户需要先找到&ldquo;我的工作台&rdquo;，再进入公告、考勤、报销等流程工具中。</p>
<p><span style="white-space: pre;">	</span>而钉钉的协同工具位于一级菜单的居中位置，里面除了企业微信已有的功能外，还有共享文件夹、日历等等等，找到&ldquo;添加应用&rdquo;，还可以在钉钉的工作台中加入其他官方内测阶段或是第三方的应用。而企业微信暂时没有第三方应用接入。</p>
<p><span style="white-space: pre;">	</span>在这部分上，企业微信的设计相对简洁，跟微信保持了较高的<a href="http://www.onlinedown.net/soft/107094.htm" target="_blank">一致</a>性，用户容易上手。而钉钉更加注重APP在协作时的效率，一些常用工具有比较浅的入口，操作效率高，但学习成本也相应高一些。</p>
<p><span style="white-space: pre;">	</span>此外，钉钉接入的第三方应用是一个亮点。企业微信1.0版本上线时，官方已经提到生态建设是企业微信下一阶段的重点。就目前来说，钉钉暂时领先。</p>
<p>&nbsp;</p>';
        */
        echo $softsay;
        $text = "1111111111111";
        $preg = '/<p[^>]*>(.+)<\/p>/isU';
        $softsay = stripslashes($softsay);
        preg_match_all($preg, $softsay,$out);
        if (!empty($out[0])&&!empty($out[0][0])){ //p后面
            $p_one = $out[0][0];//整个p
            $p_str_one = $out[1][0];//第一个p内容
            $p_str_one_t = $p_str_one.$text;//第一个p修改后内容
            $p_one_t = str_replace($p_str_one,$p_str_one_t,$p_one);
            //$softsay = str_replace($p_one, $p_one_t,$softsay);
            $softsay = preg_replace($preg,$p_str_one_t,$softsay,1);
            //dd($p_one,$p_str_one,$p_str_one_t,$p_one_t,$softsay);
        }else{
            preg_match_all("/.*<br[^>]*>/iUs", $softsay,$out);
            if (!empty($out[0])&&!empty($out[0][0])){ //br后面
                $p_one = $out[0][0];//第一个br内容
                $p_str_one_t = $p_one.$text;//第一个br修改后内容
                $softsay = str_replace($p_one,$p_str_one_t,$softsay);
            }else{//文本最后面
                $softsay = $softsay.$text;
            }
        }
        echo $softsay;
    }
    public function ck(Request $request){

        Cookie::queue("name","aa",-1);
        var_dump(Cookie::get("name"));
    }
    public function se(Request $request){
        //$request->session()->push("se","aaa");
        //$request->session()->push("u.id",'1');
        //$request->session()->push("u.id",'2');
        //$request->session()->push("u.name",'aaa');
        //$request->session()->put(['p.id'=>1,'p.age'=>2]);
        //$se = $request->session()->has("se");
//        $request->session()->push('q',1);
//        //$request->session()->forget('q');
//        var_dump($request->session()->exists("q"));
        /*$str = "aaaahttps://www.baidu.com";
        $str = preg_replace('/(.*)(http.*)/iU','${2}',$str);
        echo $str;
        */
        //二分查找
        /*$arr = [1,3,5,7,9,10,22,44,66];
        $min = 1;
        $max = count($arr);
        $a = $this->getArr($arr,$min,$max,88);
        var_dump($a);*/
        $ad_html = '<div class=\"mwidth mc\">
<div class=\"topad\">
<script type=\"text/javascript\">
function () {
var s = "_" + Math.random().toString(36).slice(2);
document.write(\'<div style=\"\" id=\"\' + s + \'\"></div>\');
(window.slotbydup = window.slotbydup || []).push({
id: \"u2365846\",
container: s
});
})(); 
</script>
<script type = \"text/javascript\" src = \"//cpro.baidustatic.com/cpro/ui/c.js\" async = \"async\" defer = \"defer\"></script>
</div>
</div>';
        echo stripslashes($ad_html);

    }
    public function getArr($arr,$min,$max,$num){
        $index = ceil(($min+$max)/2)-1;
        $info = $arr[$index];
        if($info==$num) return $index;
        if($min==$max && $info!=$num){
            return -1;
        }else{
            if($info>$num){
               $max = $index;
            }else{
                $min = $index+2;
            }
            return $this->getArr($arr,$min,$max,$num);
        }


    }

}